The present invention relates to a communication control technology, and in particular, to a technology effectively applicable to a serial communication apparatus including a calculator effecting a computation of a cyclic redundancy check of received data, for example, in a serial communication system utilizing a modem.
Conventionally, in order to achieve a serial communication between micro-processors, there has been provided a communication LSI such as the .mu.PD72001 of NEC. FIG. 7 shows an example of a system employing the communication LSI, .mu.PD72001. In this configuration, a microprocessor CPU is connected via a system bus BUS to a memory MEM, DMA controller DMAC, and a serial communication LSI SIO. Between the serial communication LSI SIO and a communication line, there is disposed a modem (an encoder, a decoder) to achieve a modulation and a demodulation on the data received and the data to be transmitted and to generate a clock from the received data.
In addition, the communication LSI, .mu.PD72001 is provided with a calculator achieving a CRC calculation on the received data such that the CRC code located at the last portion of the received data is transferred from a shift register in the communication IS to the CRC calculator in response to a clock supplied from the modem MODEM. Furthermore, the CRC calculation for the received data is to be completed when a period of time associated with 16 bits is elapsed after the CRC code in the last location of the received data is received. [For details, refer to pages 161 to 165 of the ".mu.PD72001 User's Manual" published by NEC in 1986.)
In the system above, in order to complete the CRC computation, for example, two-byte dummy data is additionally disposed at the end of the CRC code and then the receive clock must be continuously supplied for a period of time associated with 16 bits after the CRC code is received.
However, in the ordinary modems, there has been adopted a method in many cases in which the reception clock associated with the received data is stopped immediately after the CRC code is received, namely, immediately after the last bit of the received data is received. Consequently, in a case where the reception CRC calculation is to be accomplished by using such a modem described above, two-byte dummy data not related to the received data are required to be additionally located next to the CRC code on the side transmitting the data. As a result, the load on the transmission side is increased.
Furthermore, in a case where the dummy data is not added by the transmission side at the transmission, a microprocessor may achieve the CRC calculation on the received data by use of the software; however, the load on the software is increased, and the CRC calculation must be effected each time a byte of data is received, which leads to a problem that the overhead in the reception is increased.